home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / dev / mui / mui36mod.lha / MUI / Developer / Modula / ReadMe next >
Text File  |  1997-01-22  |  11KB  |  312 lines

  1.                        Modula-Interface for MUI 3.6
  2.  
  3.                      MUI (C) 1993-97 by Stefan Stuntz
  4.  
  5.                                    * * *
  6.  
  7.                          Modula Interfaces done by
  8.  
  9.                         Christian "Kochtopf" Scholz
  10.                              (up to MUI v2.2)
  11.  
  12.                              Olaf "Olf" Peters
  13.                            (MUI v3.1 and above)
  14.  
  15.                                 Sönke Tesch
  16.                          (PrivateMuiClass.def/mod)
  17.  
  18.                                Stefan Tieman
  19.                            (Cyclone interfaces)
  20.  
  21.                                    * * *
  22.  
  23.                          Report should be send to:
  24.  
  25.                 Olaf Peters <olf@informatik.uni-bremen.de>
  26.                            (M2Amiga interfaces)
  27.  
  28.               Sönke Tesch <soenke.tesch@elmshorn.netsurf.de>
  29.                          (PrivateMuiClass.def/mod)
  30.  
  31.                  Stefan Tiemann <tiemant@uni-muenster.de>
  32.                            (Cyclone interfaces)
  33.  
  34.                                    * * *
  35.  
  36.                     The Modula Interfaces are Freeware.
  37.  
  38.  
  39. ===================
  40. Directory Structure
  41. ===================
  42.  
  43.  
  44. Cyclone/#?   - interfaces for the Cyclone compiler by Marcel Timmermans.
  45.  
  46. M2Amiga/#?   - interfaces for the M2Amiga compiler by A+L AG
  47.  
  48. Shared/#?    - interfaces that do compile with both compilers and
  49.                    documentation.
  50.  
  51.  
  52. =============
  53. Release Notes
  54. =============
  55.  
  56. v3.6.4 (22.1.97, olf * Aminet)
  57.  
  58.   * added interfaces for the Cyclone compiler (done by by Stefan Tiemann).
  59.  
  60.   * introduced the a new directory structure (see above)
  61.  
  62. v3.6.3 (14.12.96, olf * Aminet)
  63.  
  64.   * Template Sources for private custom classes are now included
  65.       (PrivateMuiClass.def/mod). These files were written by Sönke Tesch,
  66.       thanks very much for contributing!
  67.  
  68. v3.6.2 (22.9.96, olf)
  69.  
  70.   * MuiD.def: added missing Attribute NumericCheckAllSizes
  71.  
  72. v3.6.1 (8.9.96, olf)
  73.  
  74.   * fixed a few flaws in the Class1/2/3 demosources (thanks to Stefan
  75.       Tiemann for the hints).
  76.  
  77. v3.6 (13.8.96, olf * Aminet)
  78.  
  79.   * updated the interfaces for MUI 3.6
  80.  
  81. v3.3.4 (5.6.96, olf)
  82.  
  83.   * MuiL: moRedraw wrongly returned a value and the flags parameter was of
  84.       type LONGINT instead of MADFlagSet. (Soenke Tesch)
  85.  
  86. v3.3.3 (26.4.96, olf)
  87.  
  88.   * MuiD: Grrr, misnamed the Settingsgroup Method (mp instead of mm).
  89.  
  90. v3.3.2 (25.4.96, olf)
  91.  
  92.   * MuiD/MuiClasses: added missing Methods SettingsgroupGadgetsToConfig,
  93.       SettingsgroupConfigToGadgets and GetConfigItem (needed when
  94.       developing CustomClass-Prefs for MUI-Prefs).
  95.  
  96.   * MuiClasses: OBJ_pen() now returns a pointer to an array of WORD, so you
  97.       can get the pennumber of a MUI-Pen by simply calling i.e.
  98.       OBJ_pen(obj)^[mpenHalfshine]
  99.  
  100.   * MuiClasses: the mNotifyData structure was missing the mndObjectID - blame
  101.       Stuntzi ;-)
  102.  
  103. v3.3.1 (13.3.96, olf)
  104.  
  105.   * as the StackParms compiler-option *may* lead into problems it has been
  106.       removed from the interfaces. (Stefan Tiemann)
  107.  
  108.   * optimization: MuiClasses/FillMinMaxInfo now uses WITH and INC
  109.       Statement, saving some bytes when compiling. (Stefan Tiemann)
  110.  
  111.   * optimization: MuiClasses/MakeDispatcher had a VAR parameter while the
  112.       Pointer is not being changed. (Stefan Tiemann)
  113.  
  114.   * fixed a bug in MuiD.def/mInputHandlerNode: node had to be ed.MinNode,
  115.       not ed.MinNodePtr (Stefan Tiemann)
  116.  
  117.   * MuiClassSupport: new procedure setSuper to set an attribute of your
  118.       superclass.
  119.  
  120.   * fixed a bug in MuiClasses/MakeDispatcher that would badly crash the
  121.       machine when used in a public custom class (= library):
  122.       IClass^.dispatcher.data is reserved for MUI, now using
  123.       IClass^.userData. Nevertheless the bug didn't occur with private
  124.       customclasses.
  125.  
  126.   * added the missing DataSpaceFind Method to MuiD.def and MuiClasses.def
  127.       (blame Stuntzi for forgetting it in the C-Headers ;-)
  128.  
  129. v3.3 (21.2.96, olf)
  130.  
  131.   * updated the interfaces for MUI 3.3
  132.  
  133.   * ATTENTION: new parameter 'flags' for moObtainPen()!
  134.  
  135. v3.2.2 (7.2.96, olf)
  136.  
  137.   * introduced MuiClassSupport: some functions to make life easier when
  138.       creating own customclasses. See docs/MuiClassSupport.doc for
  139.       documentation, Class2.mod and Class3.mod for example usage.
  140.  
  141.   - when using MUIOBSOLETE=TRUE in MuiMacros, the TagBuffer was too small.
  142.       Fixed. (Marc Ewert)
  143.  
  144.   * Demosources now also use MuiClassSupport and do compile again. They
  145.       didn't in v3.2.1 due to the changes from Stefan Schulz (APTR moved to
  146.       MuiD).
  147.  
  148. v3.2.1 (3.2.96, olf)
  149.  
  150.   * updated the interfaces for MUI 3.2
  151.  
  152.   * included Stuntzi's automatic headers (these have not been updated in
  153.       the MUI 3.2 distribution)
  154.  
  155.   * included some changes from Stefan 'eau' Schulz and Christian 'Kochtopf'
  156.       Scholz (Thanks!)
  157.  
  158.   * fixed MOLabelFlags (flags were misaligned, thanks to Marc Ewert for
  159.       reporting!)
  160.  
  161. v3.1.1 (27.11.95, olf)
  162.  
  163.   * MuiD.def now really has the MUIOBSOLETE compiler option. This was
  164.       missing in the MUI 3.1 release.
  165.  
  166.   * due to Stuntzi's automatic headerfile generation, MUI2COMPAT will not
  167.       be supported any longer.
  168.  
  169.   * Demos now compile with MUIOBSOLETE set to FALSE, which also means they
  170.       will only run with MUI 3 (and above). Be careful, they do *not* check
  171.       which MUI version you're using!
  172.  
  173. ----- BEGIN Olf's Notes for v3.1 ------------------------------------------
  174.  
  175. While updating the Modula interfaces to MUI-3 I have made some minor
  176. changes to MUIClasses (to make them more "Modula-like"), so don't wonder,
  177. if your programs do not compiled out of the box with the new interface.
  178. However my changes should not affect too many programs, so I hope you can
  179. live with them.
  180.  
  181. Also there are some compiler-options in the modules which may need some
  182. explanation, they are:
  183.  
  184.   MUIOBSOLETE
  185.  
  186. set this to TRUE to enable all the tags that have been declared obsolete
  187. during MUI-development. *Please* try to update your programs so they
  188. compile with MUIOBSOLETE set to FALSE.
  189.  
  190.   MUI2COMPAT
  191.  
  192. In MUI-3 some tags have been declared obsolete which have been heavily used
  193. in MUI-2 apps (i.e. maWindowCycleChain). If you want your programs to be
  194. MUI-2 compatible, but have eliminated all your MUIOBSOLETE tags, you should
  195. set this option to TRUE.
  196.  
  197.   MUI3
  198.  
  199. In MuiMacros some MUI-3 specific Macrocalls have been added. If you set
  200. this attribute to FALSE they will be excluded from compilation, so you may
  201. check if your application will still run under MUI-2. I have not included
  202. this option in MuiD and MuiClasses because of lazyness ;-)
  203.  
  204. The interfaces are not too heavily tested, but I'm currently developing a
  205. bigger application with them (which also uses custom-classes). At least I
  206. didn't discover any bugs until now (Nov 18, 1995) :-)
  207.  
  208. Anyway, if you discover any bugs or missing tags, please contact Christian
  209. or me, to ensure they are included in the next release of the Interfaces.
  210.  
  211. My address is:
  212.  
  213. Olaf Peters
  214. Kulmer Str. 7
  215. 28237 Bremen
  216.  
  217. eMail preferred: olf@informatik.uni-bremen.de
  218.  
  219. Have fun!
  220.  
  221.   Olf
  222.  
  223. ----- END Olf's Notes -----------------------------------------------------
  224.  
  225.  
  226. Here are the files you need to write MUI-Programs with M2Amiga.
  227. Present are in this version the macros defined in mui.h. They are
  228. implemented in MuiMacros and in MuiClasses (the ones related to
  229. custom-class-programming)
  230.  
  231.  
  232. Description of the files :
  233.  
  234.     MuiD.def        : Definitions of MethodIDs, AttributeIDs, etc.
  235.     MuiD.mod        : Some additional PROCEDUREs for some #define's in mui.h
  236.     MuiL.def        : The interface for muimaster.library
  237.     MuiSupport.def  : Additional PROCEDUREs like DoMethod or fail.
  238.     MuiSupport.mod  : The implementation of these PROCEDUREs.
  239.     MuiMacros.def   : Some Macros converted from mui.h
  240.     MuiMacros.mod   : The implementation of these.
  241.     MuiClasses.def  : some things you need to write own classes
  242.     MuiClasses.mod  : implementation of the macros defined in mui.h for classes
  243.     MuiTest.mod     : A sample Module showing how to use the interface.
  244.     ListDemo.mod    : A sample Listview programm showing an DisplayHook!
  245.     Class1.mod      : A sample Module showing how to write own classes in M2.
  246.  
  247.     In this version you have to compile the interface yourself.
  248.     For this can you use the CompilerScript. It will compile the
  249.     interface and copy the files to m2:modules/sym|obj.
  250.  
  251.  
  252. The History :
  253.  
  254. 22.10.1993 MuiSupport : changed fail-PROCEDURE, that it makes no use of
  255.                         Terminal, but now uses Arts.Requester.
  256.            MuiMacros  : Added macros AddMember, DelMember, MakeHook,
  257.                         MakeID, PopUp
  258. 26.10.1993 supplied CompilerScript
  259. 9.2.1994   MuiD       : Updates to 1.5 (Popasl, Popstring, PopObject... )
  260.                         added mPaletteEntry, mScrmodelist.
  261.            MuiL       : Updates to 1.5 (Custom Class Functions)
  262.                         changed return-value of mAslRequest to BOOLEAN 
  263.                                                 (thanx to Thilo Stoeferle)
  264.                         provided muiMasterVersion, etc. like System-Defs.
  265.            MuiSupport : fail will set app to NIL, now VAR-parameter 
  266.                         (so you can use it in a CLOSE-Routine)
  267.                                                 (thanx to Martin Koyro)
  268.            MuiMacros  : now it supports StrPtr instead of ARRAY OF CHAR.
  269.                         set the symbol Locale to TRUE to get it. (defaults to FALSE)
  270.                         added some macros by Martin Koyro (KeyRadio, (Key)Cycle, (Key)Slider)
  271.            MuiClasses : new Module which implements things to write own classes.
  272.            ComboBox   : removed - use PopObject for a Popup-List.
  273.            ListDemo   : New Demo to show how to do lists.
  274. 18.2.1994  MuiMacros  : Added functions for Register and the Pop*-Classes.
  275.                         Added some new Label-Macros (LLabel,... )
  276.            MUIClasses : Added some macro-definitions and rearranged a bit the
  277.                         module. Now you can do easily custom classes with it.
  278.                         (i hope :) So look at it for more info and look also
  279.                         at Class1.mod which shows how it is used.
  280.            Class1.mod : new demo which shows how to do custom classes.
  281. 25.6.1994  MuiD,      
  282.            MuiMacros,
  283.            MuiL       : upgraded to version 2.1
  284.                         added a new symbol MUIObsolete to MuiMacros. Set it to true,
  285.                         if you want the obsolete Macros, now you should use mMakeObj
  286.                         for them.
  287.                         Problems with MakeObject-Definition - does not work.
  288.                         I don't know why - you ? ;-) Please tell me!
  289.                         (so you should set MuiObsolete to TRUE ;-)
  290.  
  291.            MuiClasses : changed name from MUIClasses to MuiClasses - please note!!
  292. 11.7.1994  MuiL.def   : changed MakeObject to use the right registers. Now works!!
  293.  
  294.  
  295. Note :
  296.  
  297. This time I just wanted to say that this stuff is _completely_ untested because of lack
  298. of time. I am just happy that it compiles ;-)
  299. I think that I have the next days some free hours to play with the new MUI (perhaps
  300. writing a class :-)
  301. Perhaps I will then release a new version on aminet...
  302.  
  303. For bug-reports or suggestion please send me a note. Thanks.
  304.  
  305. My email-address :
  306.  
  307.     ruebe@pool.informatik.rwth-aachen.de
  308.  
  309.  
  310. Greets,
  311.      Kochtopf
  312.